package com.jishuo.pzk.service;

import com.google.gson.Gson;
import com.jishuo.base.config.PzkConfig;
import com.jishuo.base.util.GsonUtil;
import com.jishuo.pzk.bean.base.*;
import com.jishuo.pzk.bean.bill.*;
import com.jishuo.pzk.util.IdWorker;
import com.jishuo.pzk.util.ImageUtils;
import com.jishuo.pzk.util.NumberToCn;
import com.jishuo.pzk.util.VoucherUtil;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.awt.*;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

/**
 * 电子票凭证
 */
@Service
public class EticketNumService {
    private static final String vocde = PzkConfig.Vocode_EticketNum;
    private static final int busitype = PzkConfig.Pztype_EticketNum;//凭证类型

    @Resource
    private VoucherService voucherService;
    @Resource
    private VoucherUtil voucherUtil;

    /**
     * 凭证主表入库
     * @param data 元数据
     * @return 凭证主表入库结果
     */
    public int savePzk(String data) {
        EticketNumVO setEticketNum = new Gson().fromJson(data, EticketNumVO.class);
        VoucherVO voucher = voucherUtil.getVoucher(busitype, "0", vocde, setEticketNum.getBillNum(), "0", "2", null, setEticketNum.getBankId() + "", "0", setEticketNum.getBankStation(), setEticketNum.getPayBankDt(), new Gson().toJson(setEticketNum));
        return voucherService.saveVoucher(voucher);
    }

    /**
     * 凭证明细入库
     * @param voucher 元数据
     * @return 凭证明细入库结果
     */
    public static List<VoucherDetailVO> getDetail(List<VouFieldVO> list, VoucherVO voucher) {
        String VO_SN = voucher.getVoSn();
        String ORDERBILLSN = voucher.getOrderbillsn();
        EticketNumVO vo = new Gson().fromJson(voucher.getVoucher(), EticketNumVO.class);
        List<VoucherDetailVO> listDe = new ArrayList<>();

        for (VouFieldVO vouFieldVO : list) {
            int x;int y;
            //int x1;
            String pos=""; // 位置左
            String pos1=""; // 位置右

            if("left".equals(vouFieldVO.getHalign())||vouFieldVO.getHalign()==null)
            {
                pos=vouFieldVO.getFieldPosLeft(); // 左对齐或默认

            }else if("right".equals(vouFieldVO.getHalign()))
            {
                pos=vouFieldVO.getFieldPosRight(); // 右对齐

            }else if("center".equals(vouFieldVO.getHalign()))
            {
                pos=vouFieldVO.getFieldPosLeft();
                pos1=vouFieldVO.getFieldPosRight();
                // x1=Integer.parseInt(pos1.split(",")[0]);
            }
            if(vouFieldVO.getField()!=null)
            {
                // 设置各个字段
                if(vouFieldVO.getField().trim().equals("agencycode"))
                {
                    // 执收单位编码
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype)); // 主键
                    voucherDetailVO.setVoDeSn(VO_SN); // 主表ID
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN); // 订单ID

                    Color color = Color.BLACK;
                    String cc = ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1); // 透明度
                    voucherDetailVO.setFontcolor(cc); // 延时
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign()); // 方向
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("agencycode");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getAgencyCode());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);
                }
                if(vouFieldVO.getField().trim().equals("agencyname"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("agencyname");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getAgencyName());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);
                }
                List<EticketNumDetail> items =  GsonUtil.fromJsonToList(vo.getPayInfo(), EticketNumDetail.class);
                if(vouFieldVO.getField().trim().equals("amount")) {
                    for (int j = 0; j<items.size();j++) {
                        EticketNumDetail item = items.get(j);
                        VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                        voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                        voucherDetailVO.setVoDeSn(VO_SN);
                        voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                        Color color =Color.BLACK;
                        String cc=ImageUtils.Color2String(color);
                        String[] posId=pos.split("\\|");
                        String[] posId1=pos1.split("\\|");
                        x=Integer.parseInt(posId[j].split(",")[0]);
                        int x1=Integer.parseInt(posId1[j].split(",")[0]);
                        y=Integer.parseInt(posId[j].split(",")[1]);

                        voucherDetailVO.setAlpha(1);
                        voucherDetailVO.setFontcolor(cc);
                        voucherDetailVO.setFontname("宋体");

                        voucherDetailVO.setFontsize(40);
                        voucherDetailVO.setHalign(vouFieldVO.getHalign());
                        voucherDetailVO.setX(x);
                        voucherDetailVO.setXx(x1);
                        voucherDetailVO.setY(y);
                        voucherDetailVO.setField("amount");
                        voucherDetailVO.setFieldType("String");
                        voucherDetailVO.setFieldValue(item.getAmount());
                        voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                        voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                        listDe.add(voucherDetailVO);
                    }
                }
                if(vouFieldVO.getField().trim().equals("amt"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);
                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("amt");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getAmt().toPlainString());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("bankaccountcode"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);
                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("bankaccountcode");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getPayeeAccount());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("bankaccountname"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);
                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("bankaccountname");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getPayee());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("bankname")) {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);
                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("bankname");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getPayeeBank());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("bigamt")) {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);
                    BigDecimal numberOfMoney = vo.getAmt();
                    String bigamt = NumberToCn.number2CNMontrayUnit(numberOfMoney);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("bigamt");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(bigamt);
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }


                if(vouFieldVO.getField().trim().equals("billnum")) {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("billnum");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getBillNum());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("detailamt")) {
                    for(int j=0;j<items.size();j++) {
                        EticketNumDetail item = items.get(j);
                        VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                        voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                        voucherDetailVO.setVoDeSn(VO_SN);
                        voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                        Color color =Color.BLACK;
                        String cc=ImageUtils.Color2String(color);
                        String[] posId=pos.split("\\|");
                        x=Integer.parseInt(posId[j].split(",")[0]);
                        y=Integer.parseInt(posId[j].split(",")[1]);

                        voucherDetailVO.setAlpha(1);
                        voucherDetailVO.setFontcolor(cc);
                        voucherDetailVO.setFontname("宋体");

                        voucherDetailVO.setFontsize(40);
                        voucherDetailVO.setHalign(vouFieldVO.getHalign());
                        voucherDetailVO.setX(x);
                        voucherDetailVO.setY(y);
                        voucherDetailVO.setField("detailamt");
                        voucherDetailVO.setFieldType("String");
                        voucherDetailVO.setFieldValue(item.getAmount());
                        voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                        voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                        listDe.add(voucherDetailVO);
                    }
                }
                if(vouFieldVO.getField().trim().equals("fillday"))
                {

                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("fillday");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getFillDate().substring(8, 10));
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("fillmonth"))
                {

                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("fillmonth");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getFillDate().substring(5, 7));
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("fillyear"))
                {

                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("fillyear");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getFillDate().substring(0, 4));
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);

                }
                if(vouFieldVO.getField().trim().equals("itemcode"))
                {
                    for(int j=0;j<items.size();j++)
                    {
                        EticketNumDetail item = items.get(j);

                        VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                        voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                        voucherDetailVO.setVoDeSn(VO_SN);
                        voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                        Color color =Color.BLACK;
                        String cc=ImageUtils.Color2String(color);
                        String[] posId=pos.split("\\|");
                        x=Integer.parseInt(posId[j].split(",")[0]);
                        y=Integer.parseInt(posId[j].split(",")[1]);

                        voucherDetailVO.setAlpha(1);
                        voucherDetailVO.setFontcolor(cc);
                        voucherDetailVO.setFontname("宋体");

                        voucherDetailVO.setFontsize(40);
                        voucherDetailVO.setHalign(vouFieldVO.getHalign());
                        voucherDetailVO.setX(x);
                        voucherDetailVO.setY(y);
                        voucherDetailVO.setField("itemcode");
                        voucherDetailVO.setFieldType("String");
                        voucherDetailVO.setFieldValue(item.getIncitemcode());
                        voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                        voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());

                        listDe.add(voucherDetailVO);
                    }
                }
                if(vouFieldVO.getField().trim().equals("itemname")) {

                    for(int j=0;j<items.size();j++)
                    {

                        EticketNumDetail item = items.get(j);
                        VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                        voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                        voucherDetailVO.setVoDeSn(VO_SN);
                        voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                        Color color =Color.BLACK;
                        String cc=ImageUtils.Color2String(color);
                        String[] posId=pos.split("\\|");
                        x=Integer.parseInt(posId[j].split(",")[0]);
                        y=Integer.parseInt(posId[j].split(",")[1]);

                        voucherDetailVO.setAlpha(1);
                        voucherDetailVO.setFontcolor(cc);
                        voucherDetailVO.setFontname("宋体");

                        voucherDetailVO.setFontsize(40);
                        voucherDetailVO.setHalign(vouFieldVO.getHalign());
                        voucherDetailVO.setX(x);
                        voucherDetailVO.setY(y);
                        voucherDetailVO.setField("itemname");
                        voucherDetailVO.setFieldType("String");
                        voucherDetailVO.setFieldValue(item.getIncitemname());
                        voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                        voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                        listDe.add(voucherDetailVO);
                    }
                }






                if(vouFieldVO.getField().trim().equals("payer"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("payer");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getPayer());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);
                }
                if(vouFieldVO.getField().trim().equals("payeraccount"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("payeraccount");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getPayerAccount());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);
                }
                if(vouFieldVO.getField().trim().equals("payerbank"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("payerbank");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getPayerBank());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);
                }

                if(vouFieldVO.getField().trim().equals("vertifycode"))
                {
                    VoucherDetailVO  voucherDetailVO=new VoucherDetailVO();
                    voucherDetailVO.setVoVdSn(IdWorker.getOrderCode(busitype));
                    voucherDetailVO.setVoDeSn(VO_SN);
                    voucherDetailVO.setOrderbillsn(ORDERBILLSN);

                    Color color =Color.BLACK;
                    String cc=ImageUtils.Color2String(color);
                    x=Integer.parseInt(pos.split(",")[0]);
                    y=Integer.parseInt(pos.split(",")[1]);

                    voucherDetailVO.setAlpha(1);
                    voucherDetailVO.setFontcolor(cc);
                    voucherDetailVO.setFontname("宋体");

                    voucherDetailVO.setFontsize(40);
                    voucherDetailVO.setHalign(vouFieldVO.getHalign());
                    voucherDetailVO.setX(x);
                    voucherDetailVO.setY(y);
                    voucherDetailVO.setField("vertifycode");
                    voucherDetailVO.setFieldType("String");
                    voucherDetailVO.setFieldValue(vo.getVerifyCode());
                    voucherDetailVO.setMaxlength(vouFieldVO.getMaxlength());
                    voucherDetailVO.setIsnewline(vouFieldVO.getIsnewline());
                    listDe.add(voucherDetailVO);
                }
            }
        }
        return listDe;
    }
}
